package com.icinfo.cloud.provider.punish.ucase.casemain.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.ObjectUtils;

/**
 * 描述：案件涉及枚举
 *
 * @author xiangyuyu
 * @date 2022-04-09 14:21
 */
@AllArgsConstructor
public enum CaseInvolveEnum {
    /**
     * 案件涉及枚举
     */
    C_15_Z00005_1("15_Z00005-1",	"涉征收社会抚养费"),
    C_15_Z00005_2("15_Z00005-2",	"涉非法行医"),
    C_15_Z00005_3("15_Z00005-3",	"涉国有土地上的房屋强制拆迁（涉拆迁安置补偿）"),
    C_15_Z00005_4("15_Z00005-4",	"涉集体土地上的征地补偿（涉征地补偿）"),
    C_15_Z00005_5("15_Z00005-5",	"涉违反规划法的拆除违法建筑"),
    C_15_Z00005_6("15_Z00005-6",	"涉违反土地管理法的拆除违法建筑"),
    C_15_Z00005_7("15_Z00005-7",	"涉违法占道、户外广告、店招、装修、绿化等"),
    C_15_Z00005_8("15_Z00005-8",	"涉环境污染"),
    C_15_Z00005_9("15_Z00005-9",	"涉产品质量（检验检疫）"),
    C_15_Z00005_10("15_Z00005-10",	"涉食品药品安全"),
    C_15_Z00005_11("15_Z00005-11",	"涉农民工工资"),
    C_15_Z00005_255("15_Z00005-255",	"其他");

    /**
     * 编码
     */
    @Getter
    private String code;
    /**
     * 描述
     */
    @Getter
    private String des;

    /**
     * 描述：根据code获取value
     *
     * @param code 编码
     * @return 描述内容
     * @author xiangyuyu
     * @date 2022-02-22 10:43
     */
    public static String getValueByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (CaseInvolveEnum e : CaseInvolveEnum.values()) {
            if (code.equals(e.getCode())) {
                return e.getDes();
            }
        }
        return code;
    }

    /**
     * 描述：校验code是否是合法枚举
     *
     * @param code 枚举code
     * @return boolean 是否合法枚举（true-是/false-否）
     * @author xiangyuyu
     * @date 2022-02-22 10:42
     */
    public static boolean isLegalEnumCode(String code) {
        boolean flag = false;
        for (CaseInvolveEnum e : CaseInvolveEnum.values()) {
            if (e.getCode().equalsIgnoreCase(code)) {
                flag = true;
                break;
            }
        }
        return flag;
    }
}
